const key = "search_history";

Page({
  data: {
    recentSearches: wx.getStorageSync(key) as string[] || ["手机", "电脑", "运动鞋"], // 最近搜索记录
    hotSearches: ["智能手表", "无线耳机", "平板电脑"], // 热门搜索词汇
    keyword: "", // 用户输入的搜索关键词
    isShowdelet: false,
  },

  // 搜索事件
  onSearch() {
    // 检查搜索关键词是否为空
    if (!this.data.keyword.trim()) {
      wx.showToast({ title: "请输入商品名称", icon: "none" }); // 提示用户输入商品名称
      return;
    }

    const list = this.data.recentSearches; // 获取最近搜索记录列表

    // 检查搜索结果是否已存在于最近搜索记录中
    if (list.includes(this.data.keyword)) {
      const index = list.findIndex((v) => v === this.data.keyword); // 找到关键词在列表中的位置
      list.splice(index, 1); // 如果存在，则移除该记录
    }

    // 历史记录最多限制
    if (list.length >= 5) {
      list.pop();
    }

    list.unshift(this.data.keyword); // 将新的搜索关键词添加到列表最前面
    this.setData({
      // 更新数据
      recentSearches: list,
      keyword: "", // 清空输入框
    });
    // 持久化存储
    wx.setStorageSync(key, list);
  },
  toggleShowdelet() {
    this.setData({
      isShowdelet: !this.data.isShowdelet,
    });
  },

  // 清空列表
  clearAll() {
    this.setData({
      recentSearches: [],
      isShowdelet: false,
    });
    // 持久化存储
    wx.setStorageSync(key, []);
  },

  // 删除一项
  delItem(event: WechatMiniprogram.BaseEvent) {
    const list = this.data.recentSearches;
    list.splice(event.currentTarget.dataset.index, 1);
    this.setData({
      recentSearches: list,
    });
    // 持久化存储
    wx.setStorageSync(key, list);
  },
});
